/**
 * Copyright &copy; 2012-2017 <a href="https://vivo.com">vivo</a> All rights reserved.
 */
package com.vivo.dealer.entity;

import com.thinkgem.jeesite.common.utils.excel.annotation.ExcelField;
import org.hibernate.validator.constraints.Length;

import com.thinkgem.jeesite.common.persistence.DataEntity;

/**
 * 商品Entity
 * @author jyangye
 * @version 2017-11-07
 */
public class VivoWares extends DataEntity<VivoWares> {
	
	private static final long serialVersionUID = 1L;
	private String waresId;		// 商品编码
//	private String waresKindId;		// 商品类别ID
	private String showOrder;		// 次序
	private String waresLevelCode;		// 次级编号
	private String waresCode;		// 商品编码
	private String skuCode;		// SKU编码
	private String waresName;		// 名称
	private String baseUnitId;		// 基本单位
	private String addionsUnitId;		// 辅助单位
	private String waresPropertyId;		// 商品属性ID
	private String waresState;		// 商品状态
	private String waresTypeId;		// 商品类型ID

    private String waresColorId; //商品颜色

	private String isSnManage;		// 是否串号管理
	private String isBatchManage;		// 是否批次管理
	private String isExamine;		// 是否考核
	private String isCheck;		// 是否抽检
	private String expiryDate;		// 有效期限
	private String isCustomSales;		// 是否定制销售
	private String factoryMaterialCode;		// 工厂物料编码

    private String serialId;

    private String finName;
    private String finCode;

    private String is2k; //是否2000+
    private String isCommon; // 是否常规机型


    public String getSerialId() {
        return serialId;
    }

    public void setSerialId(String serialId) {
        this.serialId = serialId;
    }

    private VivoWaresKind kind;

    public VivoWaresKind getKind() {
        return kind;
    }

    public void setKind(VivoWaresKind kind) {
        this.kind = kind;
    }

    public VivoWares() {
		super();
	}

	public VivoWares(String id){
		super(id);
	}

	@ExcelField(title = "机型颜色", align = 2, sort = 25, dictType = "wares_color")
    public String getWaresColorId() {
        return waresColorId;
    }

    public void setWaresColorId(String waresColorId) {
        this.waresColorId = waresColorId;
    }

    @Length(min=1, max=11, message="商品编码长度必须介于 1 和 11 之间")
    @ExcelField(title = "ID", align = 2, sort = 10)
	public String getWaresId() {
		return waresId;
	}

	public void setWaresId(String waresId) {
		this.waresId = waresId;
	}
	
//	@Length(min=1, max=32, message="商品类别ID长度必须介于 1 和 32 之间")
//	public String getWaresKindId() {
//		return waresKindId;
//	}
//
//	public void setWaresKindId(String waresKindId) {
//		this.waresKindId = waresKindId;
//	}
	
//	@Length(min=0, max=11, message="次序长度必须介于 0 和 11 之间")
	public String getShowOrder() {
		return showOrder;
	}

	public void setShowOrder(String showOrder) {
		this.showOrder = showOrder;
	}
	
//	@Length(min=0, max=32, message="次级编号长度必须介于 0 和 32 之间")
	public String getWaresLevelCode() {
		return waresLevelCode;
	}

	public void setWaresLevelCode(String waresLevelCode) {
		this.waresLevelCode = waresLevelCode;
	}
	
	@Length(min=0, max=32, message="商品编码长度必须介于 0 和 32 之间")
    @ExcelField(title = "商品编码", align = 2, sort = 20)
	public String getWaresCode() {
		return waresCode;
	}

	public void setWaresCode(String waresCode) {
		this.waresCode = waresCode;
	}
	
	@Length(min=0, max=32, message="SKU编码长度必须介于 0 和 32 之间")
	public String getSkuCode() {
		return skuCode;
	}

	public void setSkuCode(String skuCode) {
		this.skuCode = skuCode;
	}
	
	@Length(min=0, max=64, message="名称长度必须介于 0 和 64 之间")
    @ExcelField(title = "机型名称", align = 2, sort = 20)
	public String getWaresName() {
		return waresName;
	}

	public void setWaresName(String waresName) {
		this.waresName = waresName;
	}
	
	@Length(min=0, max=32, message="基本单位长度必须介于 0 和 32 之间")
    @ExcelField(title = "基本单位", align = 2, sort = 40, dictType = "wares_unit")
	public String getBaseUnitId() {
		return baseUnitId;
	}

	public void setBaseUnitId(String baseUnitId) {
		this.baseUnitId = baseUnitId;
	}
	
	@Length(min=0, max=32, message="辅助单位长度必须介于 0 和 32 之间")
	public String getAddionsUnitId() {
		return addionsUnitId;
	}

	public void setAddionsUnitId(String addionsUnitId) {
		this.addionsUnitId = addionsUnitId;
	}
	
	@Length(min=0, max=32, message="商品属性ID长度必须介于 0 和 32 之间")
    @ExcelField(title = "合约机类型", align = 2, sort = 55, dictType = "wares_contract")
	public String getWaresPropertyId() {
		return waresPropertyId;
	}

	public void setWaresPropertyId(String waresPropertyId) {
		this.waresPropertyId = waresPropertyId;
	}
	
	@Length(min=0, max=1, message="商品状态长度必须介于 0 和 1 之间")
	public String getWaresState() {
		return waresState;
	}

	public void setWaresState(String waresState) {
		this.waresState = waresState;
	}
	
	@Length(min=0, max=32, message="商品类型ID长度必须介于 0 和 32 之间")
    @ExcelField(title = "商品类型", align = 2, sort = 60, dictType = "wares_type")
	public String getWaresTypeId() {
		return waresTypeId;
	}

	public void setWaresTypeId(String waresTypeId) {
		this.waresTypeId = waresTypeId;
	}

	
	@Length(min=0, max=1, message="是否串号管理长度必须介于 0 和 1 之间")
	public String getIsSnManage() {
		return isSnManage;
	}

	public void setIsSnManage(String isSnManage) {
		this.isSnManage = isSnManage;
	}
	
	@Length(min=0, max=1, message="是否批次管理长度必须介于 0 和 1 之间")
	public String getIsBatchManage() {
		return isBatchManage;
	}

	public void setIsBatchManage(String isBatchManage) {
		this.isBatchManage = isBatchManage;
	}
	
	@Length(min=0, max=1, message="是否考核长度必须介于 0 和 1 之间")
	public String getIsExamine() {
		return isExamine;
	}

	public void setIsExamine(String isExamine) {
		this.isExamine = isExamine;
	}
	
	@Length(min=0, max=1, message="是否抽检长度必须介于 0 和 1 之间")
	public String getIsCheck() {
		return isCheck;
	}

	public void setIsCheck(String isCheck) {
		this.isCheck = isCheck;
	}
	
	@Length(min=0, max=11, message="有效期限长度必须介于 0 和 11 之间")
	public String getExpiryDate() {
		return expiryDate;
	}

	public void setExpiryDate(String expiryDate) {
		this.expiryDate = expiryDate;
	}
	
	@Length(min=0, max=1, message="是否定制销售长度必须介于 0 和 1 之间")
	public String getIsCustomSales() {
		return isCustomSales;
	}

	public void setIsCustomSales(String isCustomSales) {
		this.isCustomSales = isCustomSales;
	}
	
	@Length(min=0, max=300, message="工厂物料编码长度必须介于 0 和 300 之间")
	public String getFactoryMaterialCode() {
		return factoryMaterialCode;
	}

	public void setFactoryMaterialCode(String factoryMaterialCode) {
		this.factoryMaterialCode = factoryMaterialCode;
	}


    public String getFinName() {
        return finName;
    }

    public void setFinName(String finName) {
        this.finName = finName;
    }

    public String getFinCode() {
        return finCode;
    }

    public void setFinCode(String finCode) {
        this.finCode = finCode;
    }

    public String getIs2k() {
        return is2k;
    }

    public void setIs2k(String is2k) {
        this.is2k = is2k;
    }

    public String getIsCommon() {
        return isCommon;
    }

    public void setIsCommon(String isCommon) {
        this.isCommon = isCommon;
    }
}